package com.beesphere.products.throttling.executor;

import java.io.Serializable;

public interface PoolConfiguration extends Serializable {
	
	public static final long THREAD_STACK_SIZE = 102400;
	
	public static final String QUEUE_TYPE_DEQUE = "deque";
	public static final String QUEUE_TYPE_QUEUE = "queue";
	
	/**
	 * 
	 * Defaults:
	 * 
	 * stackSize = 0; in KBytes
     * priority = Thread.NORM_PRIORITY;
     * daemon = true;
     * taskQueue = 1000;
     * keepAliveTime = 0;
     * maxSize = 1;
     * coreSize = 1;
	 * 
	 */ 
    String getName ();
	String getGroup ();
    long getStackSize ();
    int getPriority ();
    boolean isDaemon ();
    int getTaskQueue ();
    String getQueueType ();
    long getKeepAliveTime ();
    int getMaxSize ();
    int getCoreSize ();
    long getWaitTimeout ();
}
